#ifndef SELFINFOWIDGET_H
#define SELFINFOWIDGET_H

#include <QDialog>
#include <QWidget>
#include <QPushButton>
#include <QLabel>
#include <QLineEdit>
#include <QCursor>
#include <QGridLayout>
#include <QTimer>
#include <QFileDialog>

#include "debug.h"
#include "model/data.h"
#include "model/datacenter.h"
#include "toast.h"

/////////////////////////////////
/// personal information area
/////////////////////////////////

class SelfInfoWidget : public QDialog
{
    Q_OBJECT
public:
    SelfInfoWidget(QWidget* parent = nullptr);

    void initSignalSlot();
    void modifyNickName(const QString& newName);

    void modifyNicknameDone();
    void modifyDescriptionDone();
    void getVerifyCodeDone();
    void modifyPhoneDone();
    void modifyAvatarDone();

private:
    QPushButton* avatarBtn;

    QLabel* idTag;                  // 显示 "序号"
    QLabel* idLabel;

    QLabel* nameTag;                // 显示 "昵称"
    QLabel* nameLabel;              // 显示真实名字
    QPushButton* nameModifyBtn;     // 修改名字按钮
    QLineEdit* nameEdit;            // 编辑名字
    QPushButton* nameSubmitBtn;     // 提交修改名字按钮

    QLabel* descTag;                // 显示 "签名"
    QLabel* descLabel;              // 显示真实签名
    QPushButton* descModifyBtn;     // 修改签名按钮
    QLineEdit* descEdit;            // 编辑签名
    QPushButton* descSubmitBtn;     // 提交修改签名按钮

    QLabel* phoneTag;                // 显示 "电话"
    QLabel* phoneLabel;              // 显示真实电话
    QPushButton* phoneModifyBtn;     // 修改电话按钮
    QLineEdit* phoneEdit;            // 编辑电话
    QPushButton* phoneSubmitBtn;     // 提交修改电话按钮

    QLabel* verifyCode;              // 显示 "验证码"
    QLineEdit* codeEdit;             // 验证码输入区域
    QPushButton* getCodeBtn;         // 获取验证码按钮

    QString phone;

    QGridLayout* layout;

    int cnt = 30;
};

#endif // SELFINFOWIDGET_H
